循环while和do...while语句

您所在的位置:网站首页 do while用法 循环while和do...while语句

循环while和do...while语句

2023-04-07 20:45| 来源: 网络整理| 查看: 265

作者:Rose

QQ:211124332

一.while语句的基本用法

二.do...while语句的基本用法

三.while与do...while的应用举例

while的格式:

while(条件)

{

语句体;

}

执行过程:当条件成立时,就做语句体,如果不成立就退出循环

我们举个例子:

第一例:求1到10的和:

表示:当i等于1的时候,s等于0;1第二例:

#include “stdio.h”

main()

{

int x=3,n=0;

while(x--)

n++;

printf(“n=%d,x=%d”,n,x);

}

我们来分析一遍这个程序:

首先定义了两个整型变量x和n。x=3,n=0. 接着while(x--),x--也就是先引用再自减,那么就是x=3成立,那么我们执行n++,n就变成了1,然后我们x就变成了2,然后我们继续循环,x--,当2成立,我们执行n++,n就等于2,x就变成1,之后又来判断条件,当x=1成立,那么我们再次执行n++,那么n变成了3,而x变成了0,然后我们又来循环,当x=0,不成立,那么我们就不执行n++,但是我们的x还是要-1,就等于-1,就比如,我要开公司,我像你借钱开公司,如果开成功了,那么我就还你钱,如果不成功那么我还要还你钱。

结果如图:

第三例:

#include “stdio.h”

main()

{

int a=123,s=0;

while(a)

s+=a%10;

a/=10;

printf(“s=%d”,s);

}

我们来分析一下:while(a),就是说如果a不等于0的话那么就成立,如果等于0的话就不成立!while(a)就等于while(a!=0)的意思.//这句话很重要!要记一记!//当while(a),也就是a=123成立,那么我们执行s+=a%10;a/1=10;意思就是说,a=123成立那么就s+=a%10;意思是s=s+a余10,就等于0+a余10就等于3,接着执行a/=10,意思就是a=a/10,我们之前的课说了任何数除10那么会去掉最后一位数,那么结果就等于12.然后又来循环,当while(a),a=12成立,那么我们执行s+=a%10,意思就是s=s+12余10,就等于s=3+12余10,s最后结果就是5,接着a/=10,就是说a=a/10,那么a=12/10,结果a就等于1,我们又来循环,当while(a)=1成立,我们执行s+=a%10;s就等于5+a余10,s就是5+1余10就等于1,之后a/=10;就是说1/10就等于0,然后我们又来循环,当while(a)=0不成立,那么我们就退出循环不执行下面的语句.最后s=6。

如图:

Do...while语句的基本用法:

do...while的格式:

do

{

语句体;

}while(条件);

他是先做语句,再来判断条件

我们来做道题:

#include “stdio.h”

main()

{

int x=3;

do

{

printf(“%d”,x-=2);

}while(!(--x));

}

我们来分析下:x-=2,x就等于3-2,就等于1.,就先输出1,然后再来判断while(!--x),在这里!是不的意思,那么--x就是1-1等于0,不0那么等于真,我们继续循环,x-=2,那么x=0-2等于-2,所以会输出2,之后呢又来判断,while(!--x)先自减后引用.x就变成-3,我们说过除0以外的都是真,那么-3它也是真,然后不真那么就是等于假,接着就退出循环.所以输出结果是1空格-2

如图:

注意事项:

1.do...while的while后面一定要加分号,但是if和for和while后面一般不要加分号!!!

2.在C语言中,分号也代表一条语句,它代表的是空语句。

3.do...while是先做再判断条件,而while是先判断条件,如果条件成立再来做。所以do...while至少要循环一次,而while它可能一次都不循环!

好了,今天的课程就到这里。不好意思啊,两个星期都没更新教程了,由于在忙其他的事情就耽误了。

Rose QQ:211124332

Rose 博客


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3